package day_2022_7_to_8.day48;

import java.util.Collections;
import java.util.LinkedList;
import java.util.List;

/**
 * @author haomin
 * @date 2022/07/29 22:20
 **/
public class Day14_2_Num1492_KthFactor {
    // 方法一：一般思路，放入list集合然后排序，再得到返回值
    class Solution {
        public int kthFactor(int n, int k) {
            List<Integer> list = new LinkedList<>();
            Collections.sort(list);
            int i = 1;int count = 0;
            while (i <= n){
                if(n % i == 0){
                    count++;
                    if(count < k){
                        list.add(i);
                    }else {
                        return i;
                    }
                }
                i++;
            }
            return -1;
        }
    }

    // 方法二：方法一优化，不需要list，本身就是升序，当count==k，就得到返回值
    class Solution2 {
        public int kthFactor(int n, int k) {
            int i = 1;int count = 0;
            while (i <= n){
                if(n % i == 0) count++;
                if(count == k) return i;
                i++;
            }
            return -1;
        }
    }
}